1. Technical Field
The present invention relates in general to graphical user interfaces and in particular, to graphical user interface elements such as menus. The present invention also relates to textual menus, such as pull-down and context menus, and graphic menus such as toolbars and combination menus. Still more particularly, the present invention relates to methods and systems for managing the form or content of menu items displayed within a graphical user interface.
2. Description of the Related Art
A graphical user interface is a type of display format which enables a user to choose commands, start programs, and see lists of files, objects and other options by pointing to pictorial representations and lists of menu items on a computer display screen. Choices can generally be activated by either a keyboard or a pointing device such as a mouse. A mouse is a commonly utilized pointing device, containing one or more buttons, that allows a user to interact with a product or operating environment through an associated graphical user interface.
Some conventional graphical user interfaces provide a cursor and scroll bar for scrolling through portions of a viewable object. A viewable object is an object that is the focus of a user's attention. A viewable object can contain multiple components such as spreadsheets, text, hotlinks, pictures, sound, and video objects. However, a viewable object is not limited to these components. In many types of graphical user interfaces, a vertical or horizontal bar at the side or bottom of a graphical user interface window can be utilized in conjunction with a pointing device such as a mouse, trackball, or stylus to move about in a viewable object. Scrolling permits viewing of any desired portion of a viewable object and is so named because it is the electronic equivalent of reading through a rolled (i.e., scrolled) viewable object rather than flipping through pages of a book. A vertical scroll bar is usually utilized to control up and down movement (e.g., through lines and pages of a viewable object), while a horizontal scroll bar controls movement across a viewable object.
A typical graphical user interface also includes some sort of a menu arrangement. A menu in a graphical user interface is typically composed of a list of options from which a user can select in order to perform a desired action, such as choosing a command or applying a particular format to part of a document. A graphical user interface thus utilizes menus to provide users with an easily learned, easy-to-use alternative to memorizing program commands and their appropriate usage. Without such a menu, a user is forced to memorize such program commands and their appropriate usage, or resort to textbooks or other literature or still other computer programs associated with the particular graphical user interface or program. Choosing from one menu can often lead a user to a second menu or to a dialog box or dialog containing options that further refine the original menu section.
A typical menu is composed of a series of menu items that appear as choices displayed on the menu, selectable by input derived from either a keyboard or a pointing device such as a mouse. Menus can be pictorial or textual in nature or a combination of both. For example, a menu can be based on a "toolbar," well known in the art of graphical user interfaces, which provides pictorial elements representative of menu choices. A menu can also include well-known graphical user interface elements such as drop-down and context menus. Note that graphical user interface elements can also be referred to as graphic elements. Drop-down menus are also often referred to as pull-down menus. The same technique described herein can also be applied to other graphical user interface elements such as "command buttons." Whatever the case, pictorial or textual or both, an application that utilizes such menus to present choices of commands and available options is said to be "menu-driven." Menu-driven applications are thus considered "friendlier" than programs or applications based on a command-line interface which includes programs or applications that rely on commands typed on an on-screen prompt or represented by pictorial elements.
It is sometimes desirable to allow users of graphical applications displayed within a graphical user interface to customize the way in which the graphical user interface operates. Developers of such applications, however, cannot realistically anticipate which names or graphics for particular functions are most appropriate for every user, nor what type of organizations are most logically appropriate for such functions. It is also desirable for some applications to allow customers to add additional functions to an interface, or to hide elements of the standard interface from users. This is currently impossible for many applications and would be quite difficult for the remaining applications.
In the case of menus contained within graphical user interface applications, it is often desirable to alter such menus. However, altering or customizing menus is a difficult and often impossible task for the typical application user. From the foregoing, it can be seen that a need exists for a method and system that would allow users to customize a menu interface for graphical applications and system elements. Such a method and system, if implemented, would allow a user to transform a selected menu item in a manner that is independent of the location, name, and graphic of the menu item. Such a method and system provides a level of indirection between menu items displayed by a system, application, or product, and the logical workings of the system, application, or product. As presented initially to a user, such indirection would also provide a null operation (i.e., no transformation would occur). However, by providing such a level of indirection, a user can be provided with an opportunity to customize the graphical user interface utilized in association with the system, application or product via alteration of menus as described herein.